Tip |
You must read all previous sections before reading this section. Usted debe leer todas las secciones previas antes de leer esa sección. |
SQL Drivers |
The proper SQL drivers (ODBC client) must be installed in the web server. You can create a Window application and run it in the web server, if the Window application cannot connect to a SQL server, also a web application will be able to connect to the SQL server. In fact, if management SQL tool installed in the web server cannot connect to a SQL server, no program will be able to connect. Los manejadores apropiados de SQL (ODBC cliente) deben estar instalados en el servidor web. Usted puede crear una aplicación de Windows y correrla en el servidor web, si la aplicación de Windows no puede conectarse a un servidor de SQL, tampoco la aplicación web podrá conectase. De hecho, si una herramienta de administración de SQL instalada en el servidor web no puede conectase a un servidor de SQL, ningún programa será capaz de conectarse. |
SQL Permissions |
For this kind of applications you must be using Anonymous Authentication, and despite this, the web application must run using a user account. This user account must have permissions on the SQL server. You must modify the SQL script that creates the database to grant permission to the account that will be used to connext to the database (do not forget that in our example, we have to create an Application Pool called Sales using IIS Manager). Para este tipo de aplicaciones usted debe estar usando Anonymous Authentication, y a pesar de esto, la aplicación web debe ejecutarse usando una cuenta de usuario. Esta cuenta de usuario debe tener permisos en el servidor de SQL. Usted debe modificar el script de SQL que genera la base de datos para dar permiso a la cuenta que se usará para la conexión a la base de datos (no se olvide que en nuestro ejemplo, hemos creado una Application Pool llamada Sales usando IIS Manager). |
Tip |
If the application pool is called sales, you must give permission to IIS AppPool\sales in the respective SQL database as shown in the previous script. Si la application pool se llama sales, usted debe dar permiso a IIS AppPool\sales en la base de datos respectiva como se muestra en el script previo. |
Problem 1 |
Publish the CategoryListWeb project described in Wintempla > Information Systems > Filling a list view A trusted connection can be used to connect to a Microsoft SQL Server from a Web or Desktop application. For a desktop application, the connection to Microsoft SQL Server is accomplished by using the username and password provided at the moment of logging in the computer. For a web application, the connection to Microsoft SQL server is accomplished using the name of the Microsoft IIS Application Pool. To use a trusted connection, you need to:
Publique el proyecto CategoryListWeb que se describe en Wintempla > Information Systems > Filling a list view Una Conexión de Confianza puede ser usada para conectarse a un servidor de Microsoft SQL desde una aplicación Web o de Escritorio. Para una aplicación de escritorio, la conexión con Microsoft SQL server se consigue usando el nombre de usuario y la clave de acceso que se proporcionaron en el momento de conectarse a la computadora. Para una aplicación web, la conexión al servidor de Microsoft SQL se consigue usando el nombre de la Application Pool de Microsoft IIS. Para usar una conexión de confianza usted necesita:
|
stdafx.h |
... #define CONNECTION_STRING L"DRIVER={SQL Server};server=localhost\\SQLEXPRESS;database=best_buy;Trusted_Connection=yes" |
mydatabase.sql |
USE master; GO IF EXISTS(SELECT * FROM sysdatabases WHERE name='best_buy') BEGIN RAISERROR('Dropping existing best_buy database...', 0, 1) DROP DATABASE best_buy; END GO CREATE DATABASE best_buy; GO ... --___________________ Option 1: ApplicationPoolIdentity in IIS (In this example: Sales is the name of the Application Pool) IF NOT EXISTS(SELECT * FROM syslogins WHERE NAME='IIS AppPool\Sales') BEGIN CREATE LOGIN [IIS AppPool\Sales] FROM WINDOWS; END GO CREATE USER AppPoolUser FOR LOGIN [IIS AppPool\Sales]; GO GRANT SELECT, INSERT, DELETE, UPDATE, EXECUTE TO [AppPoolUser]; GO ... |
Username and Password |
If you do NOT want to use a trusted connection, you can use an USERNAME and PASSWORD to connect to a SQL Server database. You can edit the respective connection string to connect using a USERNAME/PASSWORD. You can also use an ODBC to connect to an SQL Server. See Wintempla > SQL > Microsoft SQL Server to learn more about this subject. You need to:
Si usted NO quiere usar una Conexión de Confianza, usted puede usar un USERNAME y PASSWORD para conectarse a una base de datos de SQL. Usted puede editar la cadena de conexión para conectarse usando una Conexión de Confianza o un USERNAME/PASSWORD. Usted puede también usar un ODBC para conectarse a un servidor de SQL. Vea Wintempla > SQL > Microsoft SQL Server para aprender más acerca de este tema. Usted necesita:
|
stdafx.h |
... #define CONNECTION_STRING L"DRIVER={SQL Server};server=localhost\\SQLEXPRESS;database=best_buy;UID=selo\\peter;PWD=123" |
mydatabase.sql |
USE master; GO IF EXISTS(SELECT * FROM sysdatabases WHERE name='best_buy') BEGIN RAISERROR('Dropping existing best_buy database...', 0, 1) DROP DATABASE best_buy; END GO CREATE DATABASE best_buy; GO ... --___________________ Option 2: SQL Account for Authentication (Username: peter and Password: 123) IF NOT EXISTS(SELECT * FROM syslogins WHERE NAME='peter') BEGIN CREATE LOGIN [peter] WITH PASSWORD='123'; END GO CREATE USER [peter] FOR LOGIN [peter]; GO GRANT SELECT, INSERT, DELETE, UPDATE, EXECUTE TO [peter]; GO ... |